home *** CD-ROM | disk | FTP | other *** search
/ Komputer for Alle 2003 Ekstra 100 Spil / K-CD_2003_Ekstra_100_Spil.iso / Action / GLtron / GLtron-0.62-setup.exe / {app} / scripts / save.lua < prev    next >
Text File  |  2002-12-21  |  797b  |  34 lines

  1. -- dump global environment
  2.  
  3. function savevar (n,v)
  4.  if v == nil then return end
  5.  if type(v)=="userdata" or type(v)=="function" then return end
  6.  -- if type(v)=="userdata" or type(v)=="function" then write("\t-- ") end
  7.  -- don't print lua constants
  8.  if strsub(n, 1, 1) == "_" then return end
  9.  write("settings.", n," = ")
  10.  if type(v) == "string" then write(format("%q",v))
  11.  elseif type(v) == "table" then
  12.    if v.__visited__ ~= nil then
  13.      write(v.__visited__)
  14.    else
  15.     write("{ }\n")
  16.     v.__visited__ = n
  17.     for r,f in v do
  18.       if r ~= "__visited__" then
  19.         if type(r) == 'string' then
  20.           savevar(n.."."..r,f)
  21.     else
  22.           savevar(n.."["..r.."]",f)
  23.     end
  24.       end
  25.     end
  26.    end
  27.  else write(tostring(v)) end
  28.  write("\n")
  29. end
  30.  
  31. function save ()
  32.   foreach(settings,savevar)
  33. end
  34.